Universal short code administration facility

ABSTRACT

Systems and methods for assigning short codes to provide uniformity among wireless carriers. In the systems and methods, a Universal Short Code (USC) Administrator maintains a list of short codes and their lease status so that SMS messages sent to a particular short code may be routed to the proper holder of the short code. A network facilitator is in communication with both the USC Administrator and at least one wireless carrier to route the SMS message to the proper holder of the short code. The short code may be leased for a specified period of time so that the short code can be reassigned after expiration of the lease.

This application is a continuation of U.S. patent application Ser. No. 10/742,764, filed Dec. 23, 2003, which claims the benefit of U.S. Provisional Application No. 60/445,453 filed Feb. 7, 2003, both of which are incorporated herein by reference in their entireties.

BACKGROUND

1. Field of the Invention

The present invention is related to improvements in mobile telephone networks' Short Message Service (SMS). More particularly, the present invention is related to systems and methods for administering, monitoring and controlling short codes such that the short codes can be employed consistently across different networks.

2. Background

Short Message Service (SMS) is a convenient and easy to use messaging application available to mobile telephone users. SMS offers a new way to communicate by sending text or data messages between mobile phones or between a mobile phone and information devices, such as a personal computer (PC), a PDA (personal digital assistant), or a handheld email/calendar organizer (e.g., a wireless email device). Messages are composed of words, up to 160 characters in length for Latin alphabets (about 30 to 40 words) and 70 characters for non-Latin alphabets like Arabic and Chinese. To send, text messages are keyed into a mobile phone keypad or other information device. Received text messages are presented on the mobile telephone's screen.

Usually, messages are delivered almost immediately, even when the mobile phone is in use. However, if the phone is turned off, for example, or if the user is in an area without cellular coverage, messages are stored in the network and delivered as soon as the phone is switched back on or the phone enters an area that has coverage.

Introduced in Europe and the United Kingdom (U. K.) during the mid-1990s and in Asia soon thereafter, SMS encountered great enthusiasm, especially among teenagers and young adults. And although SMS had originally been conceived as a paging system, users quickly adapted text messaging for their own objectives. By the late 1990s, GSM carriers in both Europe and the U. K. had connected their networks, allowing their subscribers to exchange text messages across other GSM carriers. In 2001, 700 million mobile phone users worldwide sent 20 billion messages every month, making SMS the fastest growing service in the wireless industry.

Typically, messages are addressed to another telephone via the telephone number belonging to the recipient's mobile telephone. On the other hand, a portion of messages that are sent via SMS are not sent to another telephone or PDA as in a Person-to-Person communication, but are instead directed to a central location. While the central location could have a regular 10-digit telephone number as does a typical mobile telephone, SMS messages directed to a central location are often so-directed using a short code address. A short code address is a convenient short number that identifies a central location to which an SMS message can be sent. A typical application of short code use is Tele-voting in which, for example, a television program flashes on the screen instructions to “Send an SMS message to 8012 to vote yes.” In the United States, exclusive ranges of available short codes have been assigned to each of the several mobile telephone service providers to be used at their discretion. Consequently, the market penetration for, for example, a Tele-voting application, is limited because the designated short code will operate on (or only have meaning to) a particular mobile telephone service provider.

In other words, if the television program flashes a single SMS short code on the screen, only the votes of users who happen to be customers of the service provider that “owns” that short code will be received. Thus, any resulting vote will necessarily be skewed, since only a segment of the viewing population will have the opportunity to vote.

The foregoing use and associated problems with this type of short code use is meant to be exemplary only. Those skilled in the art will appreciate that there are myriad other uses for short codes, but all such uses would still have the deficiency of having short codes restricted to a particular service provider.

BRIEF SUMMARY OF THE INVENTION

In a preferred embodiment of the present invention a single centralized SMS Universal Short Code (USC) Administrator (UA) maintains a database containing all of the available short codes and whether they are currently in use. The available short codes may include all four digit, five digit, six digit, or other short code number combinations.

When an Application Provider (AP) needs a short code, either a particular short code or any randomly available short code, it submits a request for a short code to the UA. The AP may want to use a particular code for any number of purposes, such as, for example, promotional activities, tele-voting, advertising campaigns. The UA reviews the request and, upon approval, “leases” the short code to the AP. In this context, the term “lease” means that the UA assigns the short code to the AP for a specific period of time. Once the AP has leased the short code, it informs the public of the existence of the short code and encourages the public to perform some task using the short code, such as “Send a SMS to 8012 to enter the contest.”

When a mobile subscriber (MS) sends an SMS message using the short code, the message is transmitted to the subscriber's wireless carrier (WC). The WC, in turn, passes the SMS message to a Network Facilitator (NF). In a preferred implementation, the NF is an SMS message routing intermediary, which is capable of receiving SMS messages and routing them to the specified destination, even between different wireless carriers.

Upon receipt of the message, the NF issues a routing request to the UA to resolve the short code. The UA then returns a routing response to the NF indicating the AP that is associated with the short code at that particular point in time so that the NF can deliver the SMS message to the proper AP.

Thus, as can be readily appreciated, it is possible to temporarily assign a short code to one AP for a lease period and, thereafter, assign the same short code to another AP. By temporarily assigning short codes it is possible to ensure that a sufficient number of short codes are available. In addition, it is possible for APs to provide services to a greater number of MSs across different WCs without concern about each WC using its own short codes.

The foregoing and other features and attendant advantages of the present invention will be more fully appreciated upon a reading of the following detailed description in conjunction with the associated drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram representing an exemplary implementation of an embodiment of the present invention.

FIG. 2 shows a schematic diagram representing a physical implementation of a portion of the present invention shown in FIG. 1.

FIG. 3 shows a schematic diagram representing an alternative physical implementation of a portion of the present invention shown in FIG. 1.

FIG. 4 shows a schematic diagram of an exemplary embodiment of a Universal Short Code Administrator shown in FIG. 1.

FIG. 5 shows schematically the interaction of components shown in FIG. 1.

DETAILED DESCRIPTION OF THE INVENTION

The present invention addresses the short code deficiency described above with respect to the prior art by implementing a universal short code regime that is administered by, for example, a third party, and that enables the use of the same short codes across different service providers.

Before one or more embodiments of the invention are described in detail, one skilled in the art will appreciate that the invention is not limited in its application to the details of construction, the arrangements of components, and the arrangement of steps set forth in the following detailed description or illustrated in the drawings. The invention is capable of other embodiments and of being practiced or being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting.

FIG. 1 provides a general overview of the present invention. In this exemplary embodiment, a single centralized SMS Universal Short Code (USC) Administrator (UA) maintains a database containing all of the available short codes and whether they are currently in use. The available short codes may include all four digit, five digit, six digit, or other short code number combinations.

When an Application Provider (AP) needs a short code, either a particular short code or any randomly available short code, it submits a request for a short code to the UA at I₁. The AP may want to use a particular code for any number of purposes, such as, for example, promotional activities, tele-voting, advertising campaigns. The UA reviews the request and, upon approval, “leases” the short code to the AP. In this context, the term “lease” means that the UA assigns the short code to the AP for a specific period of time. Once the AP has leased the short code, it informs the public of the existence of the short code and encourages the public to perform some task using the short code, such as “Send a SMS to 8012 to enter the contest.”

When a mobile subscriber (MS) sends an SMS message using the short code, it is transmitted to a wireless carrier (WC) at I₂. The WC, in turn, passes the SMS message to a Network Facilitator (NF) at I₃. The NF is preferably an SMS message routing intermediary, which is capable of receiving SMS messages and routing them to the specified destination. Such an intermediary is described in U.S. Ser. No. 10/426,662, filed May 1, 2003, which is incorporated herein by reference in its entirety.

The NF issues a routing request to the UA to resolve the short code at I₄. The UA then returns a routing response to the NF indicating the AP that is associated with the short code at that particular point in time at I₅ so that the NF can deliver the SMS message to the proper AP at I₆.

In this exemplary embodiment, it is possible to temporarily assign a short code to one AP for a lease period and, thereafter, assign the short code to another AP. By temporarily assigning short codes it is possible to ensure that a sufficient number of short codes are available. In addition, it is possible for APs to provide services to a greater number of MSs across different WCs without concern about each WC using its own short codes.

FIGS. 2 and 3 show various exemplary embodiments of physically implementing such a system between one or more WCs and one or more APs. More specifically, FIG. 2 shows an exemplary embodiment where multiple wireless carriers WC₁, WC₂, WC₃, . . . WC_(n) interact with multiple Network Facilitators NF₁, NF₂, NF₃, . . . NF_(n). The Network Facilitators, in turn, are in communication with a USC Administrator (UA) as well as multiple Application Providers AP₁, AP₂, AP₃, . . . AP_(n).

As shown in FIG. 2, any NF can be in communication with one or more WCs. The NFs can also communicate amongst themselves using known “peering” arrangements. By providing multiple NFs it may be possible to more efficiently process SMS messages sent using short codes because each NF will have more resources available. Moreover, it may be possible to set up the system so that each NF is optimized dependent on the type of messaging protocol, such as, for example, Short Message Peer-to-Peer (SMPP), Simple Mail Transfer Protocol (SMTP), Hyper Text Transfer Protocol (HTTP), between the WCs, the NFs, and the APs. Furthermore, each NF may be geographically dispersed so that message routing by the WCs may be streamlined.

FIG. 3 shows another exemplary embodiment where multiple wireless carriers WC₁, WC₂, WC₃, . . . WC_(n) interact with a single Network Facilitator NF₁. The Network Facilitator, in turn, is in communication with a USC Administrator (UA) as well as multiple Application Providers AP₁, AP₂, AP₃, . . . AP_(n). By providing a single NF it may be possible for a single entity to control and maintain both the UA and the NF functionality. It is also understood that each of the entities described above (i.e., WCs, NFs, UA, APs) may be realized as a single entity or as a logical collection of entities.

An exemplary embodiment of a UA 400 is shown in FIG. 4. In this embodiment, the UA includes a centralized database 410, one or more servers 420, and an interface 430 for monitoring the server 420. The interface is preferably configured to send and receive commands/requests to and from one or more APs, WCs, and NFs. These commands/requests may be in the form of XML commands or any other suitable forms. In addition, the interface 430 may include a graphical user interface to assist in the monitoring and controlling of the UA 400.

The centralized database 410 preferably includes at least two files that maintain the status of the short codes. A lease status file 440 contains a list of all short codes that have been leased and the status of the lease. The status of the lease may include the holder of the lease (the AP), time remaining on the lease, and any other relevant information. A history archive file 450 is provided for auditing purposes. This file may contain information about all APs that have been assigned to a particular short code, the duration that the short code was leased by each AP, the number of times the short code was accessed during each lease, or any other information that would be tracked for auditing purposes. In addition, the centralized database 410 may include files that store profiles for all external entities—APs, WCs, and NFs—that communicate with the UA 400. These profiles may contain information identifying the particulars of, and the options for, each of the external entities. The centralized database 410 may also include configuration files that specify the acknowledgement model used by the UA. The acknowledgement models will be described below in relation to FIG. 5.

FIG. 5 shows the interaction of an exemplary system 500 including a MS 550, WC 540, NF 530, AP 520, and UA 510 of the exemplary embodiment shown in FIG. 1. For sake of simplicity, FIG. 5 shows only one of each component, but it is understood that there may be one or more MSs, one or more WCs, one or more NFs, one or more APs, and a single UA. Although multiple UA's are possible, there is preferably, from a logical point of view, only a single UA. In FIG. 5, the WC 540, NF 530, and AP 520 are all assumed to have successfully completed a qualification and approval process with the UA 510 and are recognized by the UA 510. This process may be any known process that satisfies the UA's requirements for authentication. Each entity may be assigned a permanent identification value that is used when interacting with the UA 510. The identification value may be used for authentication, tracking, or other reporting functions by the UA 510. As stated above, there may be any number of WCs, NFs, and APs that are recognized by the UA.

Once AP 520 determines that it will need a short code for an upcoming event, such as, for example, promotional campaign or tele-voting, AP 520 establishes a secure TCP/IP connection with a server of UA 510 and requests a logical section be established between AP 520 and UA 510. For example, AP 520 may send a session request that includes AP 520's identification value and password, if required. UA 510 receives the session request from AP 520, logs the request, performs a validation and authentication operation, and returns a positive acknowledgement to AP 520.

Once the session request is acknowledged, AP 520 submits a lease request for a particular (or randomly available) short code for a specified period of time. For example, when a particular short code is requested, the AP 520 may send a lease request for short code 8012 with a start date of Dec. 9, 2002 and an end date of Dec. 13, 2002. UA 510 receives the lease request from AP 520 and logs the request. UA 510 then performs a series of validation and authentication operations to determine that the short code is available for lease during the requested time, period. For example, UA 510 may read the lease status file stored on the centralized database to determine whether the short code is available. If the short code is available, UA 510 updates the centralized database to reflect that short code 8102 has been requested by AP 520 for the time period of Dec. 9, 2003 through Dec. 13, 2003 and is pending approval. This information may be identified with a unique lease identification value.

Alternatively, when a random available short code is requested, the UA looks for the next available short code and updates the centralized database to reflect that the next available short code has been requested for a specified period of time and is pending approval.

Finally, the UA 510 may issue a response back to AP 520 including the lease identification value and the pending status. This entire session interaction for the particular (or randomly available) short code is shown at S562 in FIG. 5.

UA 510 may issue a short code lease review request to WC 540 at S564 and/or NF 530 at S566. The WC 540 and/or NF 530 review the short code lease review request and, provided that everything is in order, in an exemplary embodiment issue a positive acknowledgement back to the UA 510. After receiving positive acknowledgement from the WC 540 and/or NF 530, the UA 510 logs the responses and performs a series of validation and authentication operations. UA 510 updates its centralized database to indicate that short code 8102 has been leased to AP 520 for the time period Dec. 9, 2003 through Dec. 13, 2003. UA 510 returns a positive acknowledgement that the lease is approved to AP 520 at S568.

There are alternative acknowledgement models that may be used in place of the positive acknowledgement model described above. For example, the UA 510 may set a threshold value, which may be less than the total number of WCs and NFs sent the short code lease review, for the number of positive acknowledgements necessary for lease approval. Alternatively, a negative acknowledgement model may be used. For this model, the UA 510 would set a threshold value for which the number of negative responses cannot exceed if the lease is to be approved. This may be set as low as 1 so that a single WC or NF can block the lease assignment. In this model, only those WCs and NFs that do not want the short code to be leased need respond.

A further modification to either the positive or negative acknowledgement model includes assigning a “weighting” value or factor to each responding WC or NF. At any point in time the resulting “weighted” lease response total equals: Σ(WeightingFactor_(i)*Entity_(i))

where WeightingFactor_(i) is the weighting factor assigned to the entity (WC or NF) and Entity_(i) is the response of the entity.

Each entity may have a different weighing value depending on which entities a UA wants to give special preference to. For example, the UA may give greater preference to NFs, or a particular NF, over all other entities. Alternatively, the UA may give greater preference to one or more WCs if they are the predominate WCs in the area. These weighting values may be adjustable over time based on market factors, contracts, or any other changing conditions.

The UA may also want to specify a particular period for responding to the lease request, such as, for example, several hours, one or more calendar days, or an infinite number of days. This period for responding along with choosing a particular acknowledgement model provides great flexibility to the UA.

After the lease is approved to AP 520 at S568, MS 550 sees AP's promotional use of short code 8102 and sends an SMS message to short code 8102. This may be accomplished through a number of intermediary steps. For example, the SMS message is transmitted to WC 540 at S570. WC 540 determines that the SMS message is addressed to a particular short code and forwards the message to NF 530 associated with the WC 540 at S572.

NF 530 receives the SMS message and issues a routing inquiry to the UA 510 to resolve the destination for short code 8102. In other words, to authoritatively determine which AP 520 the NF 530 should deliver the SMS message to. NF 530 establishes a secure TCP/IP connection with the UA 510 and establishes a logical session with the UA 510 and receives a session ID. After establishing the logical session, NF 530 sends a short code routing request for the particular short code. The UA 510 receives and logs the short code routing request and performs a series of validation and authentication operations. The UA 510 returns a routing response to NF 530 indicating which AP 520 is currently associated with the particular short code.

NF 530 delivers the SMS message to AP 520 after receiving the routing response from UA 510. AP 520 processes the SMS message appropriately. Any subsequent messaging traffic may follow a path similar to the path described above.

One advantage to the above system is that the AP leases the short code for a specific period of time, after which, the short code may be reassigned to another AP. Any subsequent SMS messages to the short code may indicate that it is unassigned or be transmitted to a different AP that is leasing the short code. Therefore, a finite number of short codes may be utilized to serve a much larger group of APs. Moreover, the UA may monitor the volume of SMS message traffic addressed to the short code, for example, by monitoring the number of incoming short code routing requests. Depending on circumstances, such as, for example, a low usage with a lengthy lease period or a low usage with a desirable short code, the UA may optionally rescind the short code lease.

In addition, a further modification to the leasing of short codes includes providing an automatic lease renewal for a number of time periods, where each time period is defined as a number of days. This would allow an AP to have extended use of an assigned short code without having to send repeated requests each time a short code lease is set to expire. The UA may maintain control by setting a limit as to the number of automatic lease renewals or by monitoring the use of the short code.

It should be understood that the physical implementation of the system may include any number of elements that increase performance, improve operational reliability, or improve operational efficiency. For example, a NF may cache or store locally some or all of the routing information returned from the UA for a particular short code. In such a scenario, the NF would be responsible for ensuring that the cache or locally stored information is synchronized with the UA's authoritative list.

The UA may also “broadcast” information to all interested parties at specified periods. For example, the broadcast may include information about which short codes' leases are to expire the following day and/or the short codes leased that day. The interested parties may include all NFs associated with the UA. This broadcast may be continuous or scheduled (e.g., hourly, daily, weekly) to exchange or transfer information from the UA to the NF containing updates on short code lease assignments. The NFs may also broadcast information that is locally cached to the UA continuously or at scheduled times regarding short code usage to assist the UA in monitoring the short code usage and determining whether a short code lease should be terminated.

The foregoing disclosure of the preferred embodiments of the present invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many variations and modifications of the embodiments described herein will be apparent to one of ordinary skill in the art in light of the above disclosure. The scope of the invention is to be defined only by the claims appended hereto, and by their equivalents.

Further, in describing representative embodiments of the present invention, the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention. 

1. In a Universal Short Code (USC) Administrator (UA), a server-based method for administering USCs, the server-based method comprising: (a) receiving a USC lease request, the USC lease request comprising (i) an indicia of an Application Provider (AP) and (ii) a specified period of time; (b) determining from the USC lease request a specific USC; (c) determining a current status of the specific USC through at least a lookup against a repository; (d) temporarily assigning the specific USC to the AP for the specified period of time, provided the current status of the specific USC is available, by at least updating the repository to (i) change the current status of the specific USC to unavailable and (ii) associate the AP indicia with the specific USC; and (e) notifying one or more entities external to the UA of the temporary assignment of the specific USC to the AP.
 2. The server-based method according to claim 1, wherein step (b) includes one of (i) processing one or more data elements in the USC lease request or (ii) processing a random selection.
 3. The server-based method according to claim 1, wherein step (c) further includes contacting one or more entities external to the UA.
 4. The server-based method according to claim 1, wherein step (d) further includes a financial transaction comprising a USC lease price.
 5. The server-based method according to claim 4, wherein the USC lease price varies depending on one or more of (i) the specific USC, (ii) when the specific USC is leased, (iii) how long the specific USC is leased, and (iv) the popularity of the specific USC.
 6. The server-based method according to claim 1, wherein the information in step (e) is dispatched by one or more of (i) a directed response or (ii) a broadcast.
 7. The server-based method according to claim 1, wherein the temporary assignment of the specific USC to the AP is (i) automatically renewed at the end of the specified period of time, (ii) announced to one or more entities external to the UA near the end of the specified period of time, or (iii) rescinded due to low usage.
 8. The server-based method according to claim 1, wherein at the end of the specified period of time the specific USC is unassigned from the AP by at least updating the repository to (i) change the current status of the specific USC to available and (ii) disassociate the AP indicia from the specific USC.
 9. The server-based method according to claim 1, wherein in response to an information request the UA returns information on (i) a USC and/or (ii) an AP.
 10. The server-based method according to claim 9, wherein the information on a USC includes one or more of (i) a current status of the USC and (ii) a USC lease price.
 11. The server-based method according to claim 9, wherein the information on an AP includes one or more of a name of the AP, a mailing address of the AP, a telephone number of the AP, an email address of the AP, a point of contact for the AP, a date on which a USC lease by the AP ends, and a Web site URL of the AP.
 12. In a Universal Short Code (USC) Administrator (UA) a processor-based system on a server configured to administer USCs, the processor-based system comprising: a first interface configured to receive a USC lease request, the USC lease request comprising (i) an indicia of an Application Provider (AP) and (ii) a specified period of time; application logic configured to (a) determine from the USC lease request a specific USC, (b) determine a current status of the specific USC through at least a lookup against a repository, and (c) temporarily assign the specific USC to the AP for the specified period of time, provided the current status of the specific USC is available, by at least updating the repository to (i) change the current status of the specific USC to unavailable and (ii) associate the AP indicia with the specific USC; and a second interface configured to notify one or more entities external to the UA of a temporary assignment of the specific USC to the AP.
 13. The processor-based system according to claim 12, wherein the application logic is further configured to determine from the USC lease request the specific USC by (i) processing one or more data elements in the USC lease request or (ii) processing a random selection.
 14. The processor-based system according to claim 12, wherein the application logic is further configured to contact one or more entities external to the UA to determine the current status of the specific USC.
 15. The processor-based system according to claim 12, wherein the application logic is further configured to perform a financial transaction comprising a USC lease price to temporarily assign the specific USC to the AP.
 16. The processor-based system according to claim 15, wherein the USC lease price varies depending on one or more of (i) the specific USC, (ii) when the specific USC is leased, (iii) how long the specific USC is leased, and (iv) the popularity of the specific USC.
 17. The processor-based system according to claim 12, wherein the application logic is further configured to notify one or more entities external to the UA by one or more of (i) a directed response or (ii) a broadcast.
 18. The processor-based system according to claim 12, wherein the temporary assignment of the specific USC to the AP is (i) automatically renewed at the end of the specified period of time, (ii) announced to one or more entities external to the UA near the end of the specified period of time, or (iii) rescinded due to low usage.
 19. The processor-based system according to claim 12, wherein at the end of the specified period of time the specific USC is unassigned from the AP by at least updating the repository to (i) change the current status of the specific USC to available and (ii) disassociate the AP indicia from the specific USC.
 20. The processor-based system according to claim 12, wherein in response to an information request the UA returns information on (i) a USC and/or (ii) an AP.
 21. The processor-based system according to claim 20, wherein the information on a USC includes one or more of (i) a current status of the USC and (ii) a USC lease price.
 22. The processor-based system according to claim 20, wherein the information on an AP includes one or more of a name of the AP, a mailing address of the AP, a telephone number of the AP, an email address of the AP, a point of contact for the AP, a date on which a USC lease by the AP ends, and a Web site URL of the AP. 